
//1.类的定义和使用

//public修饰的类一个文件中只有一个，且类名必须与文件名一致
public class Test {
    public static void main(String[] args) {
        WashMachine wash1=new WashMachine(); //通过new实例化对象1
        wash1=new WashMachine();           //wash1指向新的对象
        wash1=new WashMachine();           //wash1指向新的对象
        wash1=new WashMachine();           //wash1指向新的对象



        //可以实例化多个对象，每个引用指向的对象都不一样
       WashMachine wash1=new WashMachine(); //通过new实例化对象1
       WashMachine wash2=new WashMachine(); //通过new实例化对象2
        wash1=wash2;
//        WashMachine wash3=new WashMachine(); //通过new实例化对象3
//        WashMachine wash4=new WashMachine(); //通过new实例化对象4


//
//        System.out.println("未初始化时为："+wash1.brand);    //未初始化时成员变量的值
//
//        wash1.brand="haier";              //通过.访问成员属性(成员变量)给其赋值
//        System.out.println("初始化后为："+wash1.brand);  //赋值后的成员变量的值
//
//
//        wash1.type="pyroe";
//        wash1.weight=55.78;
//        // wash1.WashClothes();              //通过.访问成员方法
//
//        WashMachine wash2=new WashMachine(); //通过new实例化对象2
//        wash2.brand="meidi";                 //通过.访问成员属性(成员变量)
//        wash2.type="fghje";
//        wash2.weight=57.99;
//        //wash2.WashClothes();                 //通过.访问成员方法

    }













    //main方法所在的类一般要用public修饰
    public static void main1(String[] args) {
        //实例化自定义的类
        Dog dd=new Dog();   //new关键字用于创建一个对象的实例
        //定义实例(对象)
        dd.name="阿黄";     //用.访问对象的属性和方法
        dd.color="黑红";
        System.out.print(dd.name+"的颜色为"+dd.color+"叫声为");
        dd.barks();
        System.out.print("它会");
        dd.wag();

        Dog ddd=new Dog();  //同一个类可以创建多个实例
        ddd.name="阿城";
        ddd.color="灰绿";
        System.out.print(ddd.name+"的颜色为"+ddd.color+"叫声为");
        ddd.barks();
        System.out.print("它会");
        ddd.wag();

       // Dog hu=new Dog();
       // System.out.println(hu.name.length());  //hu.name为null空，不能对空进行引用

        Student st=new Student();
        //st.name="zzhangsan";
        st.sex="nu";
        st.Grade(3,2,1);
        st.Ave(3,2,1);

    }

}

//定义一个狗类
class Dog{
    public String color;   //颜色
    public String name;    //名字
    //狗的属性
    public void barks(){           //叫声
        System.out.println("汪汪");
    }
    //狗的行为
    public void wag(){
        System.out.println("摇尾巴");
    }

}



//定义一个学生类
class Student{               //Student为类名,采用大驼峰

    //类成员，用来描述类 成员前用public修饰
    private String name;   //姓名
    public String sex;    //性别
    public int age;       //年龄
    public int grade;     //分数
    public int num;      //学号

    //此处的类的方法不加static,只有public修饰的类的方法才加static
    public void Grade(int x,int y,int z){               //上课
        int c=x;
        int basic=y;
        int english=z;
        System.out.println("C语言成绩为"+c);
        System.out.println("计算机应用与基础成绩为："+basic);
        System.out.println("英语成绩为："+z);
    }
    public void Ave(int m,int n,int k){           //求平均数
        System.out.println("平均成绩为："+(m+n+k)*1.0/3);
    }
}



//定义一个洗衣机类
class WashMachine{
    public String brand;// 品牌
    public String type;// 型号
    public double weight; // 重量
    public double lenght;// 长
    public double weidth; // 宽
    public double height;// 高
    public String color;// 颜色


    public void WashClothes(){              // 洗衣服
        System.out.println("洗衣功能");
    }
    public void dryClothes() {             // 脱水
        System.out.println("脱水功能");
    }
    public void SetTime(){               // 定时
        System.out.println("定时功能");
    }
}
